--CREA SECUNCIA PARA INSCRIPCIONES
CREATE SEQUENCE AUTO_IDINSCRIPCION INCREMENT BY 1 MINVALUE 10000001;
--PROCEDIMIENTO PARA INSCRIBIR ALUMNO
CREATE OR REPLACE PROCEDURE INSCRIBIR_ALUMNO(IDALUMNO$ IN NUMBER,IDNIVEL$ IN NUMBER,IDGRADO$ IN NUMBER,MENSUALIDADESCOLEGIATURA$ IN NUMBER)
AS 
	ANO_ACTUAL 		NUMBER(5);
	ANO_SIG 		NUMBER(5);
	CICLOESCOLAR$  	VARCHAR2(45);
	FECHAINSCRIPCION$ DATE;
BEGIN	
		SELECT EXTRACT(YEAR FROM SYSDATE) INTO ANO_ACTUAL FROM DUAL;
		SELECT EXTRACT(YEAR FROM (SELECT ADD_MONTHS(SYSDATE,12) FROM DUAL)) INTO ANO_SIG FROM DUAL;
		SELECT TO_DATE(SYSDATE,'DD/MM/YYYY') INTO FECHAINSCRIPCION$ FROM DUAL;
		CICLOESCOLAR$:=ANO_ACTUAL||'-'||ANO_SIG;
		INSERT INTO INSCRIPCION(IDINSCRIPCION,CICLOESCOLAR,FECHAINSCRIPCION,MENSUALIDADESCOLEGIATURA,IDALUMNO,IDNIVEL,IDGRADO)
		VALUES(AUTO_IDINSCRIPCION.NEXTVAL,CICLOESCOLAR$,FECHAINSCRIPCION$,MENSUALIDADESCOLEGIATURA$,IDALUMNO$,IDNIVEL$,IDGRADO$);  
END INSCRIBIR_ALUMNO;
/

--PROCEDIMIENTO PARA DAR DE BAJA A UN ALUMNO 
CREATE OR REPLACE PROCEDURE DAR_DE_BAJA_ALUMNO(IDINSCRIPCION$ IN NUMBER)
AS
BEGIN
	DELETE FROM INSCRIPCION WHERE IDINSCRIPCION=IDINSCRIPCION$;
	IF SQL%NOTFOUND THEN
		DBMS_OUTPUT.PUT_LINE('NO EXISTE LA INSCRIPCION SOLICITADA');
	ELSE
		DBMS_OUTPUT.PUT_LINE('LA INSCRIPCION HA SIDO ELIMINADA SATISFACTORIAMENTE');
		COMMIT;
	END IF;
END DAR_DE_BAJA_ALUMNO;
/